#include<bits/stdc++.h>

using namespace std;
int n,m,len,p,ans;
string st;
int a[10000+10],b[10000+10];
void dfs(int i)
{
	if(i>p)
	{
		int x=0,y=0,qs=0;
		for(int j=0;j<len;++j)
		{
			if(st[j]=='*')++x;
			else x=0,qs=j+1;
			if(x>m)return ;
			if(st[j]=='(')++y,b[y]=j;
			if(st[j]==')')
			{
				if(b[y]>0&&st[b[y]-1]=='*'&&st[j+1]=='*')return ;
				--y;
			}
			if(x>0)
			{
				if(qs==0)return ;
				if(j==len-1)return ;
			}
			if(y<0)return ;
		}
		if(y!=0)return ;
		++ans;
		return ;
	}
	st[a[i]]='(';
	dfs(i+1);
	st[a[i]]=')';
	dfs(i+1);
	st[a[i]]='*';
	dfs(i+1);
}
int main()
{
	freopen("bracket.in","r",stdin);
	freopen("bracket.out","w",stdout);
	cin>>n>>m;
	cin>>st;
	len=st.size();
	for(int i=0;i<len;++i)
	{
		if(st[i]=='?')a[++p]=i;
	}
	dfs(1);
	cout<<ans;
	return 0;
}
